package io.renren.modules.staro2.service.impl;

import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import io.renren.modules.staro2.service.Staro2Service;
import io.renren.modules.staro2.utils.DownloadUtils;
import io.renren.modules.staro2.utils.ParamKeyUtils;
import java.nio.charset.Charset;

/**
 * @author winson
 * @CREATE 26 15:52
 */
public class Staro2ServiceImpl implements Staro2Service {

    @Override
    public String loadPage(String url, int page) {
        return null;
    }

    @Override
    public String loadDetail(String url, int photoId) {
        return null;
    }


    @Override
    public void loadDetail(int photoId) {

        StringBuilder pageUrl = new StringBuilder();
        pageUrl.append( "http://star.hangzhoulingdong.com:8080/staro2/home/o2_beauty_details/11179/");
        pageUrl.append( photoId );
        //pageUrl.append( "?appVersion=3.0&baseParams=f93c3521f22e4f608655407468d21b19" );

        String respone = HttpUtil.get( pageUrl.toString(), Charset.defaultCharset() );

        JSONObject result = JSONUtil.parseObj( respone );

        JSONObject data = JSONUtil.parseObj( result.get( ParamKeyUtils.data ) );
        JSONArray array = JSONUtil.parseArray( data.get( ParamKeyUtils.proList ).toString() );

        String dir =  data.get( ParamKeyUtils.title ).toString();

        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
        System.out.println("正在加载["+ dir +"] 专辑" );
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
        for( Object s : array ) {
            DownloadUtils.downloadPicture(s.toString(), dir);
        }

        String videoUrl = data.getStr( ParamKeyUtils.video_url );
        if(StrUtil.isNotBlank( videoUrl )){
            DownloadUtils.downloadPicture( videoUrl, dir);
        }

    }

    @Override
    public void loadPage(int page) {
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
        System.out.println("正在获取第" + page +"页的数据：");
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );

        StringBuilder pageUrl = new StringBuilder();
        pageUrl.append("http://star.hangzhoulingdong.com:8080/staro2/home/o2_beauty/");
        pageUrl.append( page );
        //pageUrl.append( "?type=1&appVersion=3.0&baseParams=f93c3521f22e4f608655407468d21b19" );

        String respone = HttpUtil.get( pageUrl.toString(), Charset.defaultCharset() );

        JSONObject result = JSONUtil.parseObj( respone );

        JSONObject data = JSONUtil.parseObj( result.get( ParamKeyUtils.data ) );

        JSONArray array = JSONUtil.parseArray( data.get( ParamKeyUtils.o2_beauty_list ).toString() );

        for( Object s : array ){
            JSONObject pic = JSONUtil.parseObj( s.toString() );
            int photoId = Integer.valueOf( pic.get( ParamKeyUtils.photoId ).toString() );
            loadDetail( photoId );
        }

        // 判断当前页是否等于最大页，相等则停止
//        int totalcount = Integer.valueOf( data.get( ParamKeyUtils.totalCount ).toString() );
//        int currentPage = Integer.valueOf( data.get( ParamKeyUtils.currentPage ).toString() );
//
//        if( totalcount - page != 0 ){
//            page++;
//            loadPage( page );
//        }

    }
}

